GNUH8 v10.01

February 19th, 2010

KPIT Cummins Infosystems Limited is releasing the GNUH8 v10.01 toolchain, which
is a cross compiler tool for Renesas H8 series of microcontrollers.

SALIENT FEATURES:

1.   

The GNUH8 v10.01 toolchain is based on gcc-4.4.2 [released], binutils-2.20
[released], newlib-1.17.0 [released] and gdb-6.8.50 [dated 27th March 2010].

2.

The latest patches are applied to gcc, binutils and newlib sources. Please visit the following link for the patches applied to the GNUH8 toolchain:
http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=001005&id=42&lang=en   

3. The GNUH8 v10.01 ELF toolchain supports integration with the KPIT Eclipse v1.1.0 and later versions. 
Please visit the following link for information on latest releases of KPIT Eclipse:
http://www.kpitgnutools.com/releaseNotes.php 

ABOUT GNUH8 v10.01:

Release Version:

GNUH8 v10.01

Release Date:

February 19th, 2010

Platforms Supported:

Red Hat GNU/Linux v8.0 or later (or compatible distribution)
Windows NT/2000/XP/Vista/Windows 7

Language:

C, C99, C++

Targets:

H8/300

 

H8/300L 

 

H8/300H

 

H8/300H Tiny Series

 

H8/S 2XXX

 

H8/S 26XX

 

H8/SX

Object File Format:

ELF

 

CHANGES IN THIS RELEASE:

This section describes the enhancements made and the issues fixed in the v10.01 release.

GCC:

1.

When optimisation ("-O1 and above") is enabled, the GNUH8 toolchain generates an internal compiler error (ICE) for the test cases that perform logical operations on the array elements.
This bug has now been fixed.

2.

When the instruction "mul.l" is executed immediately after the "bra/s" instruction (i.e. in the delay slot), the PC (program counter) branches to an illegal code. 
This bug has now been fixed. The toolchain code generation is modified to ensure that the delay slot instructions do not exceed one-word.

3. The GNUH8 assembler (h8300-elf-as) does not give an error if the attribute of a section is not specified.
This bug has now been fixed.
4. The following test case when compiled using the compiler option "-Wformat", generates
a warning, "format '%f' expects type double, but argument 3 has type 'float'"

                extern int foo (void *my_object, const char *my_format, ...)
                       __attribute__ ((format (printf, 2, 3)));
        int main(void)
           {
              float Num = 5.0;
              foo (0, "\n%f", Num);
              return 0;
           }

This bug has now been fixed.

5. The GNUH8 toolchain does not generate correct back-trace information that is needed to display "watch variables" in the "Debug view" of KPIT Eclipse IDE.
This bug has now been fixed.

HEW (For Windows OS only):

1.

Use of the Flash Development Tool (FDT) plug-ins under HEW is deprecated. Hence, users are advised to download the latest version of the FDT application and use it independently for Flash downloads.

2. In the HEW linker section wizard, the "KEEP" attribute was previously set to a group of sections rather than the individual sections within that group.
This bug has now been fixed. Each individual section within the group is now generated with the "KEEP" attribute.
3. In HEW project generation up to v0903, the generated projects do not include the intrinsic header file. Instead, the user must navigate to the migration guide and download from there. In v10.01, the project generation in HEW is modified to include this header in all the projects so that users can use it with minimal work.

 

KNOWN LIMITATIONS IN H8-ELF:

This section describes the known limitations in this release. We intend to fix these issues in our future releases.

 

Windows and GNU/Linux:

1.

The following code, when compiled for H8300H, H8300HN, H8S, H8SN, H8SX, and H8SXN targets with optimisation option '-O1' or above, generates incorrect assembly code.

unsigned int ReadWordx86Style(unsigned long lAddr)
{
unsigned char baBuff[2];
baBuff[0x00]=*((unsigned char *)((unsigned int)(lAddr+1)));
baBuff[0x01]=*((unsigned char *)((unsigned int)(lAddr+0)));
return((*(unsigned int *)baBuff));
}

int start(void)
{
unsigned char baBuff[256];
unsigned int wResult;
wResult = ReadWordx86Style((unsigned long)((unsigned int)baBuff));
return(wResult);
}

2.

The '.tinybss' implementation does not work as expected.

3.

The 'scanf' and 'sscanf' functions of newlib do not work for the H8300HN, H8SN and H8SXN targets when '-mint32' is passed to the compiler.

4.

Library Generator: Please visit the following link for the known issues and limitations related to this utility,
http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=001002&id=413&lang=en

 

HEW (For Windows OS only):

1.

In HEW, when optimised libraries are used in C++ projects, the linker generates "undefined references" error for some ANSI C library functions as they are not implemented.

Workaround:
Users can add their own implementation of these functions or can provide dummy routines depending upon the usage.

2.

The 'Generate Makefile' feature is currently not supported in HEW.

3.

For other limitations pertaining to the single interface for the compiler, assembler, linker and library generator, please visit the following link,
http://www.kpitgnutools.com/phpmyfaq/index.php?aktion=artikel&rubrik=003001&id=445&lang=en

 NOTE:

Windows and GNU/Linux:

1. 

The optimised libraries provided along with the newlib libraries in the toolchain do not require a separate download.

2.

The optimised libraries ('liboptm.a' and 'liboptc.a') are not provided under GNU GPL. The source code of these optimised libraries is neither released nor available on request.

3.

The "libgen" utility is not provided under GNU GPL. The source code of the "libgen" utility is neither released nor available on request.

4. v10.01 ELF release onwards, the toolchain versioning system is. A decimal point is used to separate the year of toolchain release (e.g. 10 i.e., the last 2 digits of the year 2010) and the release number ( e.g., 01 i.e., 1st release of year 2010).

 

        For free technical support please register at http://www.kpitgnutools.com/
        For your feedback and suggestions please visit http://www.kpitgnutools.com/feedback.php